package com.todo.member.iface.backend;

import com.todo.common.common.entity.response.BizPageResponse;
import com.todo.common.common.entity.response.BizResponse;
import com.todo.member.iface.backend.request.*;
import com.todo.member.iface.backend.response.MemberMedalBaseResp;
import com.todo.member.iface.backend.response.MemberMedalDetailResp;

/**
 * @author azhebuxing
 * @date 2025/2/12 20:00
 * @description
 */
public interface MemberMedalInfoBackendIface {

    /**
     * 新增会员勋章信息
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> insertMemberMedalInfo(InsertMemberMedalInfoReq req);

    /**
     * 更新会员勋章信息
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> updateMemberMedalInfo(UpdateMemberMedalInfoReq req);

    /**
     * 删除会员勋章信息
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> removeMemberMedalInfoById(RemoveMemberMedalInfoReq req);

    /**
     * 更新会员勋章状态
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> updateMemberMedalStatus(UpdateMemberMedalStatusReq req);

    /**
     * 根据id查询会员勋章信息
     *
     * @param req
     * @return
     */
    BizResponse<MemberMedalDetailResp> queryMemberMedalInfoById(QueryMemberMedalInfoByIdReq req);

    /**
     * 多条件查询会员勋章信息
     *
     * @param req
     * @return
     */
    BizPageResponse<MemberMedalBaseResp> queryMemberMedalInfoByPage(QueryMemberMedalByConditionReq req);
}
